home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 51 / Amiga Format CD51 (2000-03-10)(Future Publishing)(GB)[!][issue 2000-04].iso / -in_the_mag- / workbench / term_4.8 / extras / source / term-source.lha / Data.h < prev    next >
C/C++ Source or Header  |  1997-10-03  |  19KB  |  783 lines

  1. /*
  2. **    Data.h
  3. **
  4. **    Global symbol definitions
  5. **
  6. **    Copyright © 1990-1997 by Olaf `Olsen' Barthel
  7. **        All Rights Reserved
  8. */
  9.  
  10. #ifndef _DATA_H
  11. #define _DATA_H 1
  12.  
  13.     /* In VersionTag.a */
  14.  
  15. extern LONG             TermVersion;
  16. extern LONG             TermRevision;
  17. extern UBYTE             TermName[];
  18. extern UBYTE             TermDate[];
  19. extern UBYTE FAR         VersTag[];
  20.  
  21. /**********************************************************************/
  22.  
  23.  
  24. extern BOOL             DebugFlag;
  25.  
  26.     /* Libraries. */
  27.  
  28. extern struct ExecBase        *SysBase;
  29. extern struct DosLibrary    *DOSBase;
  30. extern struct Library        *GTLayoutBase;
  31.  
  32. extern struct IntuitionBase    *IntuitionBase;
  33. extern struct GfxBase        *GfxBase;
  34. extern struct RxsLib        *RexxSysBase;
  35. extern struct LocaleBase    *LocaleBase;
  36. extern struct Library        *GadToolsBase,
  37.                 *DiskfontBase,
  38.                 *UtilityBase,
  39.                 *AslBase,
  40.                 *IFFParseBase,
  41.                 *CxBase,
  42.                 *IconBase,
  43.                 *LayersBase,
  44.                 *TranslatorBase,
  45.                 *WorkbenchBase,
  46.                 *AmigaGuideBase,
  47.                 *XEmulatorBase,
  48.                 *XProtocolBase,
  49.                 *DataTypesBase,
  50.                 *OwnDevUnitBase;
  51. extern struct Device        *TimerBase,
  52.                 *ConsoleDevice;
  53. extern BOOL             Kick30;
  54.  
  55.     /* Timer device. */
  56.  
  57. extern struct timerequest    *TimeRequest;
  58. extern struct MsgPort        *TimePort;
  59.  
  60.     /* Console device. */
  61.  
  62. extern struct IOStdReq        *ConsoleRequest;
  63. extern struct KeyMap        *KeyMap;
  64. extern BPTR             KeySegment;
  65.  
  66.     /* Screen & Windows. */
  67.  
  68. extern struct Screen        *Screen,
  69.                 *SharedScreen;
  70. extern struct Window        *Window;
  71. extern ULONG             OpenWindowTag;
  72. extern LONG             WindowWidth,
  73.                  WindowHeight,
  74.                  WindowLeft,
  75.                  WindowTop;
  76. extern struct Window        *StatusWindow;
  77. extern UWORD             StatusOffset;
  78. extern struct SignalSemaphore     StatusDisplaySemaphore;
  79. extern struct RastPort         StatusRastPort,
  80.                 *StatusRPort;
  81. extern UWORD             StatusDisplayLeft,
  82.                   StatusDisplayTop,
  83.                   StatusDisplayWidth,
  84.                   StatusDisplayHeight;
  85. extern APTR             OldWindowPtr;
  86. extern UBYTE             ScreenTitle[80];
  87. extern UBYTE             WindowTitle[80];
  88. extern UBYTE             DepthMask;
  89. extern LONG             RenderPens[4],
  90.                  MappedPens[2][32],
  91.                  SafeTextPen;
  92. extern struct DrawInfo        *DrawInfo;
  93. extern UWORD            *Pens;
  94. extern LONG             ScreenWidth,
  95.                  ScreenHeight;
  96. extern BOOL             UseMasking;
  97.  
  98. extern struct BlockMarker    *WindowMarker;
  99. extern BOOL             Marking;
  100.  
  101.     /* Graphics rendering. */
  102.  
  103. extern struct ViewPort        *VPort;
  104. extern struct RastPort        *RPort;
  105. extern struct Region        *ClipRegion,
  106.                 *OldRegion;
  107. extern struct TextFont        *GFX,
  108.                 *CurrentFont,
  109.                 *UserTextFont;
  110. extern WORD             UserFontHeight,
  111.                  UserFontWidth,
  112.                  UserFontBase;
  113. extern UBYTE             UserFontName[MAX_FILENAME_LENGTH];
  114. extern struct TextFont        *TextFont;
  115. extern WORD             TextFontHeight,
  116.                  TextFontWidth,
  117.                  TextFontBase;
  118. extern struct TTextAttr         TextAttr;
  119. extern UBYTE             TextFontName[MAX_FILENAME_LENGTH];
  120. extern struct TTextAttr         UserFont;
  121. extern struct TagItem         TagDPI[2];
  122. extern APTR             VisualInfo;
  123. extern UWORD             FontRightExtend;
  124.  
  125. extern ULONG            (* ReadAPen)(struct RastPort *RPort);
  126. extern ULONG            (* ReadBPen)(struct RastPort *RPort);
  127. extern ULONG            (* ReadDrMd)(struct RastPort *RPort);
  128. extern ULONG            (* SetMask)(struct RastPort *RPort,ULONG Mask);
  129. extern ULONG            (* GetMask)(struct RastPort *RPort);
  130.  
  131. extern UWORD             MonoPens[];
  132. extern UWORD             StandardPens[];
  133. extern UWORD             ANSIPens[];
  134. extern UWORD             EGAPens[];
  135. extern UWORD             NewEGAPens[];
  136. extern UWORD             AtomicColours[16];
  137. extern UWORD             EGAColours[16];
  138. extern UWORD             ANSIColours[16];
  139.  
  140. extern UWORD             DefaultColours[32],
  141.                  BlinkColours[32],
  142.                  NormalColours[32],
  143.                  StandardColours[32],
  144.                  PaletteSize;
  145.  
  146.     /* Line/Column offset tables. */
  147.  
  148. extern LONG            *OffsetXTable,
  149.                 *OffsetYTable;
  150.  
  151.     /* DOS data. */
  152.  
  153. extern struct Process        *ThisProcess;
  154. extern struct Process        *StatusProcess;
  155. extern struct Process        *RexxProcess;
  156. extern struct MsgPort        *TermRexxPort;
  157. extern struct WBStartup        *WBenchMsg;
  158. extern struct TermPort        *TermPort;
  159. extern BYTE             CheckBit,
  160.                  OwnDevBit;
  161. extern BOOL             InRexx;
  162. extern struct timeval         LimitTime;
  163. extern UBYTE             LimitMacro[MAX_FILENAME_LENGTH];
  164.  
  165.     /* Character conversion. */
  166.  
  167. extern struct InputEvent    *FakeInputEvent;
  168.  
  169.     /* Serial I/O. */
  170.  
  171. extern struct IOExtSer        *ReadRequest;
  172. extern struct IOExtSer        *WriteRequest;
  173. extern struct MsgPort        *ReadPort;
  174. extern struct MsgPort        *WritePort;
  175. extern UBYTE             ReadChar;
  176. extern UBYTE            *ReadBuffer,
  177.                 *HostReadBuffer;
  178. extern ULONG             DTERate,
  179.                  SerialBufferSize;
  180. extern BOOL             ProcessIO;
  181. extern BOOL             FirstInvocation;
  182.  
  183. extern UBYTE             NewDevice[MAX_FILENAME_LENGTH];
  184. extern LONG             NewUnit;
  185. extern BOOL             UseNewDevice,
  186.                  UseNewUnit;
  187.  
  188. extern LONG             BaudRates[];
  189. extern WORD             NumBaudRates;
  190.  
  191. extern struct RendezvousSemaphore    RendezvousSemaphore;
  192.  
  193.     /* Localization support. */
  194.  
  195. extern struct Catalog        *Catalog;
  196. extern struct Locale        *Locale;
  197. extern STRPTR             DecimalPoint;
  198. extern struct CatCompArrayType    *AppStrings;
  199. extern WORD             NumAppStrings;
  200. extern UBYTE             ConvNumber[30],
  201.                  ConvNumber10[30];
  202.  
  203.     /* Hotkeys. */
  204.  
  205. extern struct Hotkeys         Hotkeys;
  206.  
  207.     /* Static default fonts. */
  208.  
  209. extern struct TextAttr DefaultFont;
  210. extern struct TextAttr GFXFont;
  211.  
  212.     /* Character lookup tables. */
  213.  
  214. extern BYTE IsPrintable[256];
  215. extern BYTE IsGlyph[256];
  216. extern BYTE CharType[256];
  217.  
  218.     /* ISO -> IBM font conversion. */
  219.  
  220. extern UBYTE IBMConversion[256];
  221.  
  222.     /* IBM -> ISO font conversion. */
  223.  
  224. extern UBYTE ISOConversion[256];
  225.  
  226.     /* Table of graphics characters. */
  227.  
  228. extern BYTE GfxTable[256];
  229.  
  230.     /* Special character treatment. */
  231.  
  232. extern struct SpecialKey     SpecialKeys[14];
  233. extern JUMP            *SpecialTable;
  234.  
  235. extern BYTE             AbortMap[256];
  236. extern JUMP            *AbortTable;
  237.  
  238. extern CONTRANSFER         ConDump,
  239.                  ConOutput,
  240.                  ConProcessData;
  241.  
  242.     /* Some more handy buffers. */
  243.  
  244. extern UBYTE ARexxCommandBuffer[256],AmigaDOSCommandBuffer[256],DialNumberBuffer[256];
  245.  
  246.     /* Screen pull-down-menu. */
  247.  
  248. extern struct NewMenu        *TermMenu;
  249. extern WORD             NumMenuEntries;
  250.  
  251. extern LONG             QuickDialTable[DIAL_MENU_MAX];
  252. extern LONG             QuickDialMax;
  253.  
  254. extern struct SignalSemaphore     MenuSemaphore;
  255. extern struct Menu        *Menu;
  256. extern struct Image        *AmigaGlyph,*CheckGlyph;
  257.  
  258.     /* Cross-hatch pattern. */
  259.  
  260. extern ULONG Crosshatch;
  261.  
  262.     /* Configuration. */
  263.  
  264. extern struct Configuration    *Config,
  265.                 *PrivateConfig,
  266.                 *BackupConfig;
  267. extern struct SpeechConfig     SpeechConfig;
  268. extern BOOL             English;
  269. extern BOOL             Online,WasOnline;
  270. extern ULONG             OnlineMinutes;
  271. extern struct timeval         OnlineTime;
  272. extern struct SignalSemaphore     OnlineSemaphore;
  273.  
  274. extern UBYTE             LastConfig[MAX_FILENAME_LENGTH];
  275. extern UBYTE             DefaultPubScreenName[MAXPUBSCREENNAME + 1],
  276.                  SomePubScreenName[MAXPUBSCREENNAME + 1];
  277.  
  278. extern WORD             StatusStackPointer;
  279. extern WORD             StatusStack[10];
  280. extern struct SignalSemaphore     StatusSemaphore;
  281.  
  282.     /* xON/xOFF processing. */
  283.  
  284. extern struct SignalSemaphore     xONxOFF_Semaphore;
  285. extern LONG             xONxOFF_Lock;
  286. extern BOOL             xOFF_Enabled;
  287.  
  288.     /* Capture file. */
  289.  
  290. extern struct Buffer        *FileCapture;
  291. extern BPTR             PrinterCapture;
  292. extern UBYTE             CaptureName[MAX_FILENAME_LENGTH];
  293. extern BOOL             StandardPrinterCapture,
  294.                  ControllerActive;
  295. extern LONG             BufferFlushCount;
  296. extern COPTR             CaptureData;
  297. extern BOOL             RawCapture;
  298. extern ParseContext        *ParserStuff;
  299.  
  300.     /* Buffer. */
  301.  
  302. extern UBYTE            **BufferLines;
  303. extern LONG             Lines;
  304. extern struct SignalSemaphore     BufferSemaphore;
  305. extern LONG             MaxLines;
  306. extern LONG             BufferSpace;
  307. extern BOOL             BufferClosed;
  308. extern BOOL             BufferFrozen;
  309.  
  310. extern struct MinList         TextBufferHistory;
  311.  
  312.     /* Sound support.c */
  313.  
  314. extern struct SoundConfig     SoundConfig;
  315. extern BOOL             SoundChanged;
  316.  
  317.     /* Phonebook. */
  318. /*
  319. extern struct PhoneEntry    **Phonebook;
  320. extern LONG             PhoneSize;
  321. extern LONG             NumPhoneEntries;
  322. extern struct MinList         PhoneGroupList;
  323. extern ULONG             PhonebookID;
  324. extern ULONG             PhonebookDefaultGroup;
  325. extern UBYTE             PhonePassword[256];
  326. extern BOOL             PhonePasswordUsed,
  327.                  PhonebookAutoDial,
  328.                  PhonebookAutoExit,
  329.                  RebuildMenu;
  330. */
  331. extern PhonebookHandle        *GlobalPhoneHandle;
  332. extern BOOL             RebuildMenu;
  333. extern UBYTE             Password[100];
  334. extern UBYTE             UserName[100];
  335.  
  336. extern UBYTE             CurrentBBSName[40],
  337.                  CurrentBBSNumber[100],
  338.                  CurrentBBSComment[100];
  339.  
  340. extern UBYTE             LastPhone[MAX_FILENAME_LENGTH];
  341. extern UBYTE             LastKeys[MAX_FILENAME_LENGTH];
  342. extern UBYTE             LastMacros[MAX_FILENAME_LENGTH];
  343. extern UBYTE             LastCursorKeys[MAX_FILENAME_LENGTH];
  344. extern UBYTE             LastTranslation[MAX_FILENAME_LENGTH];
  345. extern UBYTE             LastSpeech[MAX_FILENAME_LENGTH];
  346. extern UBYTE             LastSound[MAX_FILENAME_LENGTH];
  347.  
  348. extern struct MacroKeys        *MacroKeys;
  349. extern struct CursorKeys    *CursorKeys;
  350.  
  351.     /* Console stuff. */
  352.  
  353. extern UBYTE            *StripBuffer;
  354. extern UWORD             LastLine,LastColumn,LastPixel;
  355. extern UWORD             LastPrintableColumn;
  356. extern UWORD             LastPrintablePixel;
  357. extern UWORD             CharCellNominator,CharCellDenominator;
  358. extern UBYTE             CurrentFontScale,FontScalingRequired,CurrentCharWidth;
  359. extern UBYTE             Charset,Attributes,FgPen,BgPen;
  360. extern WORD             CursorX,CursorY,Top,Bottom;
  361. extern BOOL             UseRegion,RegionSet,InSequence,ConsoleQuiet,Blocking;
  362. extern BYTE            *TabStops;
  363. extern UWORD             TabStopMax;
  364. extern BYTE             CharMode[2];
  365.  
  366. extern BOOL             VT52_Mode;
  367.  
  368. extern BOOL             ResetDisplay,
  369.                  FixScreenSize;
  370.  
  371.     /* Flow filter. */
  372.  
  373. extern STRPTR             AttentionBuffers[SCAN_COUNT];
  374. extern BOOL             BaudPending,UseFlow;
  375. extern UBYTE             BaudBuffer[80],BaudCount;
  376.  
  377. extern struct FlowInfo         FlowInfo;
  378.  
  379. extern STRPTR             DataHold;
  380. extern LONG             DataSize;
  381.  
  382.     /* Transfer data. */
  383.  
  384. extern BOOL             BinaryTransfer;
  385. extern LONG             TransferAbortState;
  386. extern WORD             TransferAbortCount;
  387. extern LONG             TransferBits;
  388.  
  389. extern CONTRANSFER         ConTransfer;
  390.  
  391. extern UBYTE            *DownloadPath;
  392. extern BOOL             Uploading;
  393. extern BOOL             DidTransfer;
  394.  
  395. extern struct Window        *TransferWindow;
  396. extern UBYTE             TransferTitleBuffer[256];
  397. extern BOOL             TransferZoomed;
  398. extern STRPTR             TransferWindowTitle;
  399.  
  400. extern struct LayoutHandle    *TransferHandle;
  401. extern struct List         TransferInfoList;
  402.  
  403. extern struct FileTransferInfo    *FileTransferInfo;
  404.  
  405. extern struct XPR_IO        *XprIO;
  406. extern struct MinList         Update_MsgList;
  407. extern WORD             Update_MsgCount;
  408. extern UBYTE             ProtocolOptsBuffer[256];
  409. extern BOOL             NewOptions;
  410. extern BOOL             XPRCommandSelected;
  411. extern UBYTE             LastXprLibrary[MAX_FILENAME_LENGTH];
  412. extern UBYTE             TransferProtocolName[MAX_FILENAME_LENGTH];
  413. extern BOOL             UsesZModem,SendAbort,TransferAborted,TransferFailed,TransferError;
  414.  
  415. extern struct Process        *TransferProcess;
  416.  
  417.     /* The standard ZModem cancel sequence
  418.      * (ten CAN chars followed by ten
  419.      * BS chars).
  420.      */
  421.  
  422. extern UBYTE             ZModemCancel[];
  423.  
  424.     /* Pay per minute. */
  425.  
  426. extern LONG             PayPerUnit[2];
  427. extern LONG             SecPerUnit[2];
  428. extern struct List        *PatternList,
  429.                 *ActivePattern;
  430. extern UBYTE             LastPattern[MAX_FILENAME_LENGTH];
  431. extern BOOL             PatternsChanged;
  432. extern struct SignalSemaphore     PatternSemaphore;
  433.  
  434.     /* Execute a command/script. */
  435.  
  436. extern ULONG             BlockNestCount;
  437. extern BOOL             WeAreBlocking;
  438.  
  439.     /* Dial list. */
  440.  
  441. extern BOOL             SendStartup;
  442. extern LONG             FirstDialMenu;
  443. extern struct List         RexxDialMsgList;
  444. extern BOOL             DialItemsAvailable;
  445.  
  446.     /* TermMain data. */
  447.  
  448. extern BOOL             ReleaseSerial;
  449. extern BOOL             MainTerminated,
  450.                   IconTerminated,
  451.                  DoIconify,
  452.                  DoDial,
  453.                  KeepQuiet;
  454.  
  455. extern BOOL             ConfigChanged,PhonebookChanged,TranslationChanged,
  456.                  MacroChanged,CursorKeysChanged,FastMacrosChanged,
  457.                  HotkeysChanged,SpeechChanged,BufferChanged;
  458.  
  459.     /* String gadget hooks. */
  460.  
  461. extern struct Window        *CommandWindow;
  462. extern struct Gadget        *CommandGadget;
  463.  
  464. extern BOOL             ClipInput,
  465.                  ClipXerox,
  466.                  ClipPrefix;
  467.  
  468.     /* Text sending. */
  469.  
  470. extern UBYTE             SendPrompt[256];
  471. extern LONG             SendPromptLen;
  472. extern SENDLINE             SendLine;
  473.  
  474.     /* Packet window. */
  475.  
  476. extern struct Window        *PacketWindow;
  477. extern struct Gadget        *PacketGadgetArray[2];
  478. extern struct Menu        *PacketMenu;
  479. extern struct Gadget        *PacketGadgetList;
  480. extern struct List         PacketHistoryList;
  481.  
  482.     /* Some more colour control flags. */
  483.  
  484. extern BOOL             Initializing,LoadColours;
  485.  
  486.     /* The character raster. */
  487.  
  488. extern UBYTE            *Raster,*RasterAttr;
  489. extern UWORD            *AttributeRaster;
  490. extern LONG             RasterWidth,RasterHeight;
  491. extern struct SignalSemaphore     RasterSemaphore;
  492. extern BOOL             RasterEnabled;
  493.  
  494.     /* Generic lists. */
  495.  
  496. extern struct GenericList    *GenericListTable[GLIST_COUNT];
  497.  
  498.     /* File version test. */
  499.  
  500. extern ULONG VersionProps[2];
  501.  
  502.     /* Window stack. */
  503.  
  504. extern struct Window        *TopWindow;
  505.  
  506. extern struct Window        *WindowStack[5];
  507. extern WORD             WindowStackPtr;
  508.  
  509.     /* Global term ID. */
  510.  
  511. extern LONG             TermID;
  512. extern UBYTE             TermIDString[MAXPUBSCREENNAME + 1];
  513. extern UBYTE             RexxPortName[256];
  514.  
  515.     /* Fast! macros. */
  516.  
  517. extern struct List         FastMacroList;
  518. extern LONG             FastMacroCount;
  519. extern UBYTE             LastFastMacros[MAX_FILENAME_LENGTH];
  520. extern struct Window        *FastWindow;
  521. extern WORD             FastWindowLeft,
  522.                  FastWindowTop,
  523.                  FastWindowHeight;
  524.  
  525.     /* Double-buffered file locking. */
  526.  
  527. extern struct List         DoubleBufferList;
  528. extern struct SignalSemaphore     DoubleBufferSemaphore;
  529.  
  530.     /* XEM interface. */
  531.  
  532. extern struct XEM_IO        *XEM_IO;
  533. extern ULONG             XEM_Signal;
  534. extern struct XEmulatorHostData XEM_HostData;
  535. extern UBYTE            *OptionTitle;
  536. extern struct List         XEM_MacroList;
  537. extern struct XEmulatorMacroKey *XEM_MacroKeys;
  538. extern UBYTE             EmulationName[MAX_FILENAME_LENGTH];
  539.  
  540.     /* Screen scrolling support. */
  541.  
  542. extern UWORD             ScrollLineFirst,ScrollLineLast,
  543.                  ScrollLineCount;
  544. extern struct ScrollLineInfo    *ScrollLines;
  545.  
  546.     /* term review buffer. */
  547.  
  548. extern struct Window        *ReviewWindow;
  549.  
  550.     /* Background information. */
  551.  
  552. extern ULONG             BytesIn,
  553.                  BytesOut;
  554. extern struct DateStamp         SessionStart;
  555. extern struct Window        *InfoWindow;
  556.  
  557.     /* Gadget support routines */
  558.  
  559. extern LONG             InterWidth,
  560.                  InterHeight;
  561.  
  562.     /* Character translation. */
  563.  
  564. extern struct TranslationEntry    **SendTable,
  565.                 **ReceiveTable;
  566.  
  567.     /* Window alignment information. */
  568.  
  569. extern struct WindowInfo WindowInfoTable[];
  570. extern struct SignalSemaphore WindowInfoSemaphore;
  571.  
  572.     /* New user interface. */
  573.  
  574. extern struct Hook LocaleHook;
  575.  
  576.     /* AmigaGuide hook. */
  577.  
  578. extern struct Hook GuideHook;
  579.  
  580.     /* Special queue management. */
  581.  
  582. extern struct MsgQueue    *SpecialQueue;
  583.  
  584.     /* Window and Screen backfill hook. */
  585.  
  586. extern struct Hook BackfillHook;
  587.  
  588. extern ULONG BackfillTag;
  589.  
  590.     /* Intercept data going through SerWrite. */
  591.  
  592. extern BYPASS        SerWriteBypass;
  593.  
  594.     /* The incredibly shrinking file name. */
  595.  
  596. extern UBYTE        ShrunkenName[MAX_FILENAME_LENGTH],
  597.             OriginalName[MAX_FILENAME_LENGTH];
  598.  
  599.     /* AppIcon data. */
  600.  
  601. extern struct DiskObject DropIcon;
  602.  
  603.     /* Remember some of the incoming data. */
  604.  
  605. extern BOOL    RememberOutput,
  606.         RememberInput,
  607.  
  608.         Recording,
  609.         RecordingLine;
  610.  
  611.     /* Trap settings. */
  612.  
  613. extern BOOL        WatchTraps;
  614. extern BOOL        TrapsChanged;
  615. extern UBYTE        LastTraps[MAX_FILENAME_LENGTH];
  616. extern ParseContext    *TrapStuff;
  617.  
  618.     /* CR/LF receiver translation data. */
  619.  
  620. extern TRANSLATEFUNC    Translate_CR_LF;
  621.  
  622.     /* End of line conversion labels. */
  623.  
  624. extern STRPTR EOL_Labels[];
  625.  
  626.  
  627. /**********************************************************************/
  628.  
  629.  
  630.     /* This follows the control code information. */
  631.  
  632. extern struct ControlCode     ANSICode[];
  633. extern WORD             NumCodes;
  634.  
  635.  
  636. /**********************************************************************/
  637.  
  638.  
  639. extern UWORD            PenTable[16];
  640. extern STRPTR            ParityMappings[];
  641. extern STRPTR            BooleanMappings[];
  642. extern STRPTR            DuplexMappings[];
  643. extern STRPTR            HandshakingMappings[];
  644. extern UBYTE            TextAttributeTable[16];
  645. extern WORD            ForegroundPen,
  646.                 BackgroundPen;
  647.  
  648.  
  649. /**********************************************************************/
  650.  
  651.  
  652. extern BOOL            ChatMode;
  653. extern ULONG            SliderType;
  654. extern ULONG            CycleType;
  655.  
  656.  
  657. /**********************************************************************/
  658.  
  659.  
  660. extern struct ColourTable    *NormalColourTable,
  661.                 *BlinkColourTable,
  662.                 *ANSIColourTable,
  663.                 *EGAColourTable,
  664.                 *DefaultColourTable,
  665.                 *MonoColourTable;
  666.  
  667.  
  668. /**********************************************************************/
  669.  
  670.  
  671. extern UBYTE Language[80];
  672.  
  673.  
  674. /**********************************************************************/
  675.  
  676.  
  677. extern STRPTR CharCodes[256];
  678.  
  679.  
  680. /**********************************************************************/
  681.  
  682.  
  683. extern struct Window *MatrixWindow;
  684.  
  685.  
  686. /**********************************************************************/
  687.  
  688.  
  689. extern SAVERASTER SaveRaster;
  690.  
  691.  
  692. /**********************************************************************/
  693.  
  694.  
  695. extern struct SignalSemaphore     BufferTaskSemaphore;
  696. extern struct TextBufferInfo    *BufferInfoData;
  697.  
  698. extern struct SignalSemaphore     ReviewTaskSemaphore;
  699. extern struct TextBufferInfo    *ReviewInfoData;
  700.  
  701.  
  702. /**********************************************************************/
  703.  
  704.  
  705. extern struct AttributeEntry     AttributeTable[];
  706. extern WORD             AttributeTableSize;
  707.  
  708.     /* This is where the information on what arguments exclude
  709.      * other arguments is linked to the actual commands.
  710.      */
  711.  
  712. extern struct ExclusionInfo *ExclusionTable[];
  713.  
  714.     /* This is where the information on which arguments (switches and keywords)
  715.      * are actually required is stored.
  716.      */
  717.  
  718. extern UWORD InclusionTable[];
  719.  
  720.     /* This is where command names, arguments and the routines
  721.      * to execute the actual commands are linked together.
  722.      */
  723.  
  724. extern struct CommandInfo     CommandTable[];
  725. extern WORD             CommandTableSize;
  726.  
  727. extern struct MsgPort        *RexxPort;
  728. extern LONG             LastRexxError;
  729. extern LONG             RexxTimeoutVal;
  730. extern BOOL             UpdateRequired,TransferUpdateRequired;
  731.  
  732.  
  733. /**********************************************************************/
  734.  
  735.  
  736.     /* The signal semaphores and lists to initialize at program startup time. */
  737.  
  738. extern struct SignalSemaphore    *StartupSemaphoreTable[];
  739. extern struct List        *StartupListTable[];
  740.  
  741.  
  742. /**********************************************************************/
  743.  
  744.  
  745.     /* Job queues and jobs. */
  746.  
  747. extern JobQueue    *MainJobQueue;
  748. extern JobNode    *XEMJob,
  749.         *SerialCheckJob,
  750.         *WorkbenchWindowJob,
  751.         *SerialJob,
  752.         *OwnDevUnitJob,
  753.         *WindowJob,
  754.         *SingleWindowJob,
  755.         *WindowAndXEMJob,
  756.         *RexxJob,
  757.         *QueueJob,
  758.         *ReleaseSerialJob,
  759.         *StartupFileJob,
  760.         *IconifyJob,
  761.         *RebuildMenuJob,
  762.         *ResetDisplayJob,
  763.         *OnlineCleanupJob,
  764.         *SerialCacheJob,
  765.         *DisplayCostJob,
  766.         *TerminalTestJob;
  767.  
  768.     /* Jobs to create at program startup time. */
  769.  
  770. extern struct JobInitStruct JobInitTable[];
  771.  
  772. /**********************************************************************/
  773.  
  774.     /* Simplified serial read routines that know about cached data. */
  775.  
  776. extern ULONG    (*SerialWaitForData)(ULONG OtherBits);
  777. extern ULONG    (*SerialGetWaiting)(VOID);
  778. extern LONG    (*SerialRead)(UBYTE *Buffer,LONG Size);
  779.  
  780. /**********************************************************************/
  781.  
  782. #endif
  783.